#include<iostream>

using namespace std;
// zdl:: 这道题目其实求得是最初那个摆东西剧烈这道题目主要有动态规划和谈心真两种解决方案，但是谈心需要严格的证明所以这里就曹勇这个方案来探求一下！！！
// zdl:: 搞懂题意之后我们就知道这其实就是需要我们保留波峰和波谷
int n;
const int N = 1e5 + 10;
int h[N];
// zdl:: 当遇到了不熟悉的贪心策略是，就需要我们数据这种策略，这个是最好用的方案3去！！！！
int main()
{
    cin >> n;
    for (int i = 1; i <= n; i++) cin >> h[i];

    int prev = 0, cnt = 0;
    for (int i = 1; i < n; i++)
    {
        if (h[i + 1] == h[i]) continue;
        // 怕现在我们先自行赋予这个整数de自己的价值，表示这个数列的视功能江青付那个@！！！
    // 现在就是这个情况的写照！！！
        int d = h[i + 1] - h[i] > 0 ? 1 : -1;
        if (prev != d) cnt++;
        prev = d;
    }

    cout << cnt + 1 << endl;
    return 0;
}


// zdl:现在还不是时候吗》 但是现在很铭心就是时候了，现在还有这么短短的几分钟，现在还是很多的东西需要我们===我慢慢去做，现在还是这样话，就现哈斯是需要阻尼他国千层浪，叶族你组你不我去年最高级自己的能量！！！
int main()
{
    
    return 0;
}